Apparatus and methods for hand motion tracking and handwriting recognition

ABSTRACT

Apparatus and method for handwriting recognition including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry receiving the acceleration indicating output and providing a velocity indicating output and a handwritten multiple character recognizer receiving the velocity indicating output and providing a multiple character recognition output indication.

FIELD OF THE INVENTION

[0001] The present invention relates to apparatus and methods for hand motion detection and handwriting recognition generally.

BACKGROUND OF THE INVENTION

[0002] The following U.S. Pat. Nos. are believed to represent the current state of the art: 5,159,321; 5,247,137; 5,294,792; 5,434,371; 5,453,758; 5,517,579; 5,587,558; 5,598,187; 5,781,661; 5,902,968; 5,981,884; 6,084,557; 6,130,666;

[0003] The following PCT International Publications are believed to represent the current state of the art: WO 94/09447; WO 94/18663; WO 95/21436; WO 99/22338;

SUMMARY OF THE INVENTION

[0004] The present invention seeks to provide improved apparatus and methods for hand motion detection and handwriting recognition as well as hand held computing and communication devices employing such apparatus and methods.

[0005] There is thus provided in accordance with a preferred embodiment of the present invention an apparatus for handwriting recognition including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry receiving the acceleration indicating output and providing a velocity indicating output and a handwritten multiple character recognizer receiving the velocity indicating output and providing a multiple character recognition output indication.

[0006] There is also provided in accordance with a preferred embodiment of the present invention an apparatus for handwriting recognition including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry receiving the acceleration indicating output, discarding user specific components therein and providing a non-user specific output and a handwritten character recognizer receiving the non-user specific output and providing a character recognition output indication.

[0007] There is further provided in accordance with a preferred embodiment of the present invention an apparatus for hand motion tracking including a handheld device including at least one accelerometer providing an acceleration indicating output, computation circuitry receiving the acceleration indicating output and providing a proportionally normalized velocity indicating output and a hand motion tracker receiving the velocity indicating output and providing a tracking output indication.

[0008] There is further provided in accordance with another preferred embodiment of the present invention an apparatus for hand motion tracking including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry receiving the acceleration indicating output, discarding user specific components therein and providing a non-user specific output and a hand motion tracker receiving the non-user specific output and providing a tracking output indication.

[0009] There is also provided in accordance with yet another preferred embodiment of the present invention an apparatus for handwriting recognition and hand motion tracking including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry receiving the acceleration indicating output and providing a velocity indicating output, a handwritten character recognizer receiving the velocity indicating output and providing a multiple character recognition output indication and a hand motion tracker receiving the velocity indicating output and providing a tracking output indication.

[0010] There is also provided in accordance with a preferred embodiment of the present invention an apparatus for handwriting recognition and hand motion tracking including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry receiving the acceleration indicating output, discarding user specific components therein and providing a non-user specific output, a handwritten character recognizer receiving the non-user specific output and providing a character recognition output indication and a hand motion tracker receiving the non-user specific output and providing a tracking output indication.

[0011] There is also provided in accordance with yet a further preferred embodiment of the present invention a pen computer including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry located within the hand-held device and receiving the acceleration indicating output and providing a non-user specific output, a handwritten character recognizer located within the hand-held device and receiving the non-user specific output and providing a character recognition output indication and a computer located within the hand-held device for receiving the character recognition output indication as performing computer operations in response thereto.

[0012] There is further provided in accordance with a preferred embodiment of the present invention a pen communicator including a hand-held device including at least one accelerometer providing an acceleration indicating output, computation circuitry located within the hand-held device and receiving the acceleration indicating output and providing a proportionally normalized velocity indicating output, a handwritten character recognizer located within the hand-held device and receiving the proportionally normalized velocity indicating output and providing a character recognition output indication, and a communication device located within the hand-held device for receiving the character recognition output indication and performing communication operations in response thereto.

[0013] Further in accordance with a preferred embodiment of the present invention the accelerometer includes a plurality of accelerometers providing outputs to acceleration processing circuitry, which provides the acceleration indicating output.

[0014] Still further in accordance with a preferred embodiment of the present invention the computation circuitry is also operable to perform at least one of Calculator, Database, Personal Information Management (PIM) and Personal Digital Assistant (PDA) functionalities, including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller, smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities and to provide a computation output resulting therefrom.

[0015] Further in accordance with a preferred embodiment of the present invention the apparatus for handwriting recognition also includes communication circuitry.

[0016] Preferably, the communication circuitry provides functionality for at least one of a telephone, paging, SMS, WAP, Email, Internet browsing and POTS functions.

[0017] Additionally in accordance with a preferred embodiment of the present invention the apparatus for handwriting recognition also includes at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.

[0018] Further in accordance with a preferred embodiment of the present invention the apparatus is employed as a writing implement.

[0019] Still further in accordance with a preferred embodiment of the present invention the computation circuitry provides at least one of proportional normalization of velocity, identifies minimum motion points, normalizes at least a portion of the acceleration indicating output to a level of an average of a first few samples of the acceleration indicating output, and determining a last intentional motion sample of the acceleration indicating output and eliminates samples following the last intentional motion sample of the acceleration indicating output.

[0020] Additionally in accordance with a preferred embodiment of the present invention the apparatus for handwriting recognition provides a multiple character recognition output indication which includes at least one of: compressing the velocity indicating output, separately analyzing information for the x and y velocity components, analyzing the directions of the velocity, calculating velocity thresholds, digitizing velocity components, comparing and matching between a digital dictionary and a digitized velocity record and using only part of the digitized velocity record, comparing and matching between a digital dictionary and a few different representation forms of digitized velocity using a prioritization procedure which takes place in case of disagreement between different comparing and matching results, filtering out short duration segments of the velocity components, indicating velocity value changes and ignoring time durations between the changes, performing a merger operation on velocity segments and binarizing velocity segments.

[0021] Further in accordance with a preferred embodiment of the present invention the hand motion tracker provides at least one of a three-dimensional tracking output indication, a two-dimensional tracking output indication and a character tracking output indication.

[0022] There is further provided in accordance with a preferred embodiment of the present invention a method for handwriting recognition. The method includes providing an acceleration indicating output from a hand-held device, receiving the acceleration indicating output and providing a velocity indicating output, and receiving the velocity indicating output and providing a multiple character recognition output indication.

[0023] Further in accordance with a preferred embodiment of the present invention the method also includes at least one of a computation related to the character recognition output indication, a database operation related to the character recognition output indication, communication of character recognition output indication and a control operation based on the character recognition output indication.

[0024] Still further in accordance with a preferred embodiment of the present invention the velocity indicating output is further proportionally normalized.

[0025] Additionally in accordance with a preferred embodiment of the present invention the method also includes normalizing at least a portion of the acceleration indicating output to a level of the average of the first few samples of the acceleration indicating output.

[0026] Further in accordance with a preferred embodiment of the present invention the method further includes determining a last intentional motion sample of the acceleration indicating output and eliminating samples following the last intentional motion sample of the acceleration indicating output.

[0027] Preferably determining of the last intentional motion sample includes examining a record of the output of at least one of the acceleration sensors in order to determine the average of the last few samples, thereafter, examining the record sequentially from the last few samples backwards in time direction until a variation from the average of at least a predetermined magnitude is encountered and determining a time location of this variation to be the time location of the last intentional motion.

[0028] Further in accordance with a preferred embodiment of the present invention the method of providing a velocity indicating output further includes identification of minimum motion points.

[0029] Still further in accordance with a preferred embodiment of the present invention the method also includes providing a multiple character recognition output indication includes compressing the velocity indicating output.

[0030] Additionally in accordance with a preferred embodiment of the present invention the method further includes providing a multiple character recognition output indication and includes separately analyzing information for the X and Y velocity components,

[0031] Further in accordance with a preferred embodiment of the present invention the method also includes providing a multiple character recognition output indication includes analyzing directions of the velocity.

[0032] Still further in accordance with a preferred embodiment of the present invention the method includes providing a multiple character recognition output indication and includes comparing and matching between a digital dictionary and digitized velocity record using only part of the digitized velocity.

[0033] Alternatively the providing a multiple character recognition output indication includes comparing and matching between a digital dictionary and a few different representation forms of digitized velocity using a prioritization procedure which takes place in case of disagreement between different comparing and matching results.

[0034] Further in accordance with a preferred embodiment of the present invention the method further includes at least one of filtering out short duration segments of the velocity components, performing a merger operation on velocity segments and binarizing operation on velocity segments.

[0035] Still further in accordance with a preferred embodiment of the present invention the method also includes providing a multiple character recognition output indication includes calculating velocity thresholds.

[0036] Preferably calculating of velocity thresholds further includes dependency of the thresholds on the minimum and maximum values of the velocity components.

[0037] Further in accordance with a preferred embodiment of the present invention the method includes digitizing velocity components to provide digitized information.

[0038] Preferably the method also includes analyzing the digitized information for the velocity components to detect value changes therein, indicating each such change and ignoring time durations between changes.

[0039] There is also provided in accordance with another preferred embodiment of the present invention a method for handwriting recognition. The method includes providing an acceleration indicating output from a hand-held device, receiving the acceleration indicating output, discarding user specific components therein and providing a non-user specific output and receiving the non-user specific output and providing a character recognition output indication.

[0040] There is also provided in accordance with a preferred embodiment of the present a method for hand motion tracking. The method includes providing an acceleration indicating output from a hand-held device, receiving the acceleration indicating output and providing a proportionally normalized velocity indicating output and receiving the velocity indicating output and providing a tracking output indication.

[0041] Further in accordance with a preferred embodiment of the present invention the method also includes providing a tracking indicating output includes at least one of representing a multi-dimensional object, representing drawing in the air, representing drawing in on a surface, representing a character tracking in the air, and representing a character tracking on a surface.

[0042] Still further in accordance with a preferred embodiment of the present invention the method further includes indicating at least one of a computation based on the tracking output, operating a database on the tracking output indication, indicating communication of tracking output and a control operations based on the tracking output indications.

[0043] Additionally in accordance with a preferred embodiment of the present invention the method also includes normalizing at least a portion of the acceleration indicating output to a level of the average of the first few samples of the acceleration indicating output.

[0044] Further in accordance with a preferred embodiment of the present invention the method further includes determining the last intentional motion sample of the acceleration indicating output and eliminating samples following the last intentional motion sample of the acceleration indicating output,

[0045] Still further in accordance with a preferred embodiment of the present invention, determining of the last intentional motion sample includes examining a record of the output of at least one of the acceleration sensors in order to determine the average of the last few samples, thereafter, examining the record sequentially from the last few samples backwards in time direction until a variation from the average of at least a predetermined magnitude is encountered and determining a time location of this variation to be the time location of the last intentional motion.

[0046] Further in accordance with a preferred embodiment of the present invention the method also provided a velocity indicating output further includes identification of minimum motion points.

[0047] There is further provided in accordance with a preferred embodiment of the present invention a method for hand motion tracking. The method includes providing an acceleration indicating output from a hand-held device, receiving the acceleration indicating output, discarding user specific components therein and providing a non-user specific output and receiving the non-user specific output and providing a tracking output indication.

[0048] There is further provided in accordance with a preferred embodiment of the present invention a method for handwriting recognition and hand motion tracking. The method includes providing an acceleration indicating output from a hand-held device, receiving the acceleration indicating output and providing a velocity indicating output, receiving the velocity indicating output and providing a multiple character recognition output indication and receiving the non-user specific output and providing a character recognition output indication.

[0049] There is further provided in accordance with a preferred embodiment of the present invention a method for handwriting recognition and hand motion tracking. The method includes providing an acceleration indicating output from a hand-held device, receiving the acceleration indicating output, discarding user specific components therein and providing a non-user specific output and receiving the non-user specific output and providing a character recognition output indication.

BRIEF DESCRIPTION OF THE DRAWINGS

[0050] The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:

[0051]FIG. 1 is a simplified partially pictorial, partially block diagram illustration of handwriting recognition apparatus constructed and operative in accordance with a preferred embodiment of the present invention;

[0052]FIG. 2 is a simplified partially pictorial, partially block diagram illustration of hand motion tracking apparatus constructed and operative in accordance with a preferred embodiment of the present invention;

[0053]FIGS. 3A & 3B are together a simplified partially pictorial, partially block diagram illustration of handwriting recognition and hand motion tracking apparatus constructed and operative in accordance with a preferred embodiment of the present invention;

[0054]FIG. 4 is a simplified partially pictorial, partially block diagram illustration of a telephone employing handwriting recognition and hand motion tracking apparatus constructed and operative in accordance with a preferred embodiment of the present invention;

[0055]FIG. 5 is a simplified functional block diagram illustration of functionalities of the apparatus of FIGS. 1, 2, 3A, 3B & 4;

[0056]FIGS. 6A, 6B, 6C, 6D, 6E, 6F, 6G, 6H & 6I are flow charts, illustrating some of the functionalities of FIG. 5;

[0057]FIGS. 7A, 7B, 7C, 7D, 7E & 7F are acceleration diagrams which are useful in the understanding of the functionalities shown in FIGS. 6B & 6C;

[0058]FIGS. 8A & 8B are each a velocity diagram which is useful in the understanding of the functionality shown in FIG. 6D;

[0059]FIGS. 9A & 9B are each a diagram which is useful in the understanding of the functionality shown in FIG. 6E; and

[0060]FIGS. 10A, 10B, 10C, 10D, 10E, 10F, 10G, 10H & 10I are diagrams which are useful in the understanding of the functionality shown in FIG. 6F.

[0061]FIGS. 11A, 11B, 11C, 11D, 11E, 11F, 11G, 11H, 11I 11J and 11K, are diagrams which are useful in the understanding of the functionality shown in FIG. 6F & 6G; and

[0062]FIGS. 12A, 12B, 12C & 12D are diagrams which are useful in the understanding of the functionality shown in FIG. 6F, 6G, 6H & 6I;

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0063] Reference is now made to FIG. 1, which is a simplified partially pictorial, partially block diagram illustration of handwriting recognition apparatus constructed and operative in accordance with a preferred embodiment of the present invention. As seen in FIG. 1, there is provided apparatus for handwriting recognition, generally designated by reference numeral 100 and including a hand-held housing 102, typically formed of molded plastic and including therewithin at least one and preferably plural mutually orthogonal arranged accelerometers 104 providing outputs to an acceleration processing circuitry 106 which, in turn, preferably outputs to velocity processing circuitry 108, which provides a velocity indicating output.

[0064] A recognition circuitry 110, such as a handwriting character recognizer, receives the velocity indicating output from circuitry 108 and preferably provides a character recognition output indication. It is a particular feature of the present invention that a velocity indicating output is provided and employed for downstream recognition. The character recognition output indication is preferably supplied to a display 112, such as a LCD display, which is viewable by a user.

[0065] Additionally in accordance with a preferred embodiment of the present invention, computation circuitry 114 is provided and receives the character recognition output indication from circuitry 110. Computation circuitry 114 is preferably operable to perform mathematical functions, such as arithmetic functions, as illustrated based on inputs received from circuitry 110. Computation circuitry 114 preferably is operable to provide a computation output via display 112. Computation circuitry 114 may also be enabled to perform any other suitable type of computation, including for example, computations useful in Personal Information Management functionality.

[0066] Reference is now made to FIG. 2, which is a simplified partially pictorial, partially block diagram illustration of hand motion tracking apparatus constructed and operative in accordance with a preferred embodiment of the present invention. As seen in FIG. 2, there is provided apparatus for hand motion tracking, generally designated by reference numeral 200 and including a hand-held housing 202, typically formed of molded plastic and including therewithin at least one and preferably plural mutually orthogonal arranged accelerometers 204 providing outputs to acceleration processing circuitry 206 which, in turn, preferably outputs to velocity processing circuitry 208, which provides a velocity indicating output.

[0067] Tracking circuitry 210 receives the velocity indicating output from circuitry 208 and preferably provides a three-dimensional tracking output indication. Preferably, the three-dimensional output may be employed by a suitable output device.

[0068] Alternatively, the output of tracking circuitry 210 may be supplied to 3D-2D tracking output indication conversion circuitry or, as a further alternative, tracking circuitry 210 may provide a two-dimensional output. Preferably, the three-dimensional output may be employed by a suitable output device.

[0069] It is a particular feature of the present invention that a velocity indicating output is provided and employed for downstream tracking. The output of tracking circuitry 210 is supplied either directly or via 3D-2D tracking output indication conversion circuitry (not shown) to communication circuitry 214 which preferably provides a wireless communication output to a remote output device, such as, for example, a personal digital assistant 216.

[0070] It is appreciated that communication circuitry 214 may be any suitable communication circuitry and may provide wired or wireless transmission via a suitable antenna 218. A preferred type of communication is wireless Bluetooth communication, it being understood, however, that any suitable alternative thereto is also contemplated hereby, including, inter alia relatively long range communication.

[0071] As seen in FIG. 2, a three dimensional object can typically be represented simply by tracing one or more features of the outline thereof using the apparatus 200.

[0072] Reference is now made to FIGS. 3A & 3B, which are together a simplified partially pictorial, partially block diagram illustration of handwriting recognition and hand motion tracking apparatus constructed and operative in accordance with a preferred embodiment of the present invention. As seen in FIGS. 3A & 3B, there is provided apparatus for hand motion tracking and handwriting recognition, generally designated by reference numeral 300 and including a hand-held housing 302, typically formed of molded plastic and including therewithin at least one and preferably plural mutually orthogonal arranged accelerometers 304 providing outputs to acceleration processing circuitry 306 which, in turn, preferably outputs to velocity processing circuitry 308, which provides a velocity indicating output.

[0073] Tracking circuitry 310 receives the velocity indicating output from circuitry 308 and preferably provides a three-dimensional tracking output indication. Alternatively, tracking circuitry 310 may provide a two-dimensional output. As a further alternative, the three-dimensional output may be employed by any suitable output device. The output from the tracking circuitry 310 may be displayed or transmitted to another communication device and also used for handwriting recognition, as descried hereinbelow.

[0074] It is a particular feature of the present invention that a velocity indicating output is provided and employed for downstream tracking.

[0075] In addition to tracking circuitry 310, there is also preferably provided recognition circuitry 314, such as a handwriting character recognizer, receives the velocity indicating output from circuitry 308 and preferably provides a character recognition output indication. It is a particular feature of the present invention that a velocity indicating output is provided and employed for downstream recognition. The character recognition output indication is preferably supplied to a display 316, such as an LCD display, which is viewable by a user.

[0076] Additionally in accordance with a preferred embodiment of the present invention, computation circuitry 318 is provided and receives the character recognition output indication from circuitry 314 via a bus 315. Computation circuitry 318 is preferably operable to perform mathematical functions, such as arithmetic functions and personal organizer functions as illustrated based on inputs received from circuitry 314. Computation circuitry 318 preferably is operable to provide a computation output via the bus 315 to the display 316 and to the communication circuitry 320. Computation circuitry 318 may also be enabled to perform any other suitable type of computation and to have database and Personal Digital Assistant functionality.

[0077] In accordance with a preferred embodiment of the present invention, the output of tracking circuitry 310 is supplied either directly or via 3D-2D tracking output indication conversion circuitry (not shown) to communication circuitry 320, along with the output of one or both of computation circuitry 318 and recognition circuitry 314. Communication circuitry 320 preferably provides a wireless communication output via an antenna 322 or other suitable communication port to a remote output device, such as, for example, a similar device 350 or any other suitable output device. It is appreciated that communication circuitry 320 may be any suitable communication circuitry and may provide wired or wireless transmission. A preferred type of communication is at least partially wireless telephone or IP communication, it being understood, however, that any suitable alternative thereto is also contemplated hereby.

[0078] As seen in FIG. 3A, a user can represent three dimensional objects such as flowers simply by tracing one or more features of the outline thereof or drawing them in the air or on a substrate using the apparatus 300. The representation of the three dimensional image, typically in two-dimensional form, may be sent to a similar output device 350 at a remote location, as illustrated, where it may be viewed on the display 316 of that device.

[0079] As seen in FIG. 3B, the user of the remote apparatus 350 may, in response to receipt of the representation of the three dimensional image, transmit a response back to the sender. In the illustrated case, the response is a handwritten message, transmitted wirelessly to the original sending user and appearing on display 316 of his apparatus 300.

[0080] Reference is now made to FIG. 4, which is a simplified partially pictorial, partially block diagram illustration of a hand-held communicator, such as a telephone employing handwriting recognition and hand motion tracking apparatus constructed and operative in accordance with a preferred embodiment of the present invention. As seen in FIG. 4, there is provided a hand-held communicator, such as a telephone, generally designated by reference numeral 400 and preferably including apparatus for hand motion tracking and handwriting recognition located within a hand-held housing 402. Housing 402 is preferably formed of molded plastic and includes therewithin at least one and preferably plural mutually orthogonal arranged accelerometers 404 providing outputs to acceleration processing circuitry 406 which, in turn, preferably outputs to velocity processing circuitry 408, which provides a velocity indicating output.

[0081] Recognition circuitry 410, such as a handwriting character recognizer, preferably receives the velocity indicating output from circuitry 408 and preferably provides a character recognition output indication. It is a particular feature of the present invention that a velocity indicating output is provided to circuitry 410 and employed for downstream recognition therein. The character recognition output indication from circuitry 410 is preferably supplied via a bus 412 to computation and control circuitry 414, a baseband controller 418 and to a display 416, such as an LCD display, which is viewable by a user.

[0082] Computation and control circuitry 414 is preferably operable to perform mathematical functions, such as arithmetic functions and personal organizer functions, as illustrated based on inputs received from circuitry 410. Computation and control circuitry 414 preferably is operable to provide a computation output via display 416 and the bus 412. Computation and control circuitry 414 may also be enabled to perform any other suitable type of computation, database or Personal Digital Assistant functionality.

[0083] Conventional cellular telephone functionality may be provided by computation and control circuitry 414, baseband controller 418 and a baseband and audio interface 420. Interface 420 typically interfaces with a microphone 422 and a speaker 424 as well as with a conventional RF transceiver 426. The RF transceiver 426 transmits and receives via a suitable antenna 428. It is noted that the output of recognition circuitry 410 may be employed for dialing, as pictorially illustrated in FIG. 4, typically by supplying an output from recognition circuitry 410 via baseband controller 418 to the RF transceiver 426 that transmits via the antenna 428.

[0084] It is a particular feature of the embodiment of FIG. 4 that the output of recognition circuitry 410 and possibly of computation and control circuitry 414 may be used as a dialing input for a telephone. It is thus appreciated, that, as illustrated in FIG. 4, a user may dial the telephone by writing in the air or on any substrate using the telephone as a writing implement.

[0085] It is appreciated that the communicator 400 may be any suitable type of communicator and may provide wired or wireless transmission. A preferred type of communication is at least partially wireless telephone or IP telephony communication, it being understood, however, that any suitable alternative thereto is also contemplated hereby.

[0086] Reference is now made to FIG. 5, which is a simplified functional block diagram illustration of a preferred embodiment of the present invention showing the functionalities of the apparatus of FIGS. 1, 2, 3A, 3B & 4. It is appreciated that in any given application some of the functionalities described hereinbelow, with respect to FIG. 5, may not be needed and thus may not be present.

[0087] As seen in FIG. 5, preferably three accelerometers, operating as respective X, Y and Z acceleration sensors, respectively designated by reference numerals 500, 502 and 504, preferably output to data acquisition circuitry 506. Data acquisition circuitry 506 preferably includes operational amplifiers 508, 510 and 512, receiving the outputs of acceleration sensors 500, 502 and 504 respectively and providing outputs via respective low pass filters 514, 516 and 518 to an A-D converter 520. It is appreciated that digital acceleration sensors, providing a DCM (Duty Cycle Modulated signal) output may be employed instead of sensors providing analog outputs. In such a case, the A-D converter 520 is obviated and other aspects of the data acquisition circuitry 506 may be changed accordingly.

[0088] The output of the A-D converter 520 is preferably supplied to a dual port motion memory 522 which communicates via a control bus and a data bus, here respectively designated by reference numerals 524 and 526.

[0089] A controller 530, which typically receives inputs from a write/on/off switch 532 and a contact sensor 534, provides control inputs via the control bus 524 to the data acquisition circuitry 506, to the dual port motion memory 522 and to acceleration processing circuitry 536, which receives a data output from dual port motion memory 522 via the data bus 526. Controller 530 may also provide a power management function for the remainder of the circuitry of FIG. 5, which may include power savings when a sensed activity level is below a useful level due to the absence of intentional hand motion.

[0090] The acceleration processing circuitry 536 provides an output to velocity processing circuitry 538 preferably via data bus 526 and the dual port motion memory 522. Velocity processing circuitry 538 also receives a control input preferably from controller 530 via control bus 524.

[0091] The output of velocity processing circuitry 536 is preferably supplied via data bus 526 to tracking circuitry 540 and to recognition circuitry 542, both of which also receive control inputs from controller 530 preferably via control bus 524. The tracking circuitry 540 preferably provides an output via an output bus 544 to communication and Input/output circuitry 546, application and output memory 548 and display 550.

[0092] Recognition circuitry 542 preferably comprises velocity compression circuitry 552 which receives data and control inputs from respective data and control busses 526 and 524 and which provides an output to identification circuitry 554. Identification circuitry 554 typically also receives a data input from a dictionary database 556 and a control input from control bus 524. Identification circuitry 554 also preferably outputs via output bus 544 to communication and Input/Output circuitry 546, to application and output memory 548 and to display 550.

[0093] Controller 530 preferably cooperates with application processing circuitry 558, such as circuitry which provides Personal Information Management (PIM) and Personal Digital Assistant (PDA) circuitry including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller functionalities . It may also provide one or more of smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities. When combined with a communication functionality, it may serve for editing, browsing, receiving and sending, uni- and bidirectional paging, SMS, WAP, Email, POTS and other types of communications. Circuitry 558 preferably which interfaces with application and output memory 548, which in turn communicates via output bus 544 and control bus 524, as does controller 530 and a display 550, which is coupled to controller 530.

[0094] Communication and input/output circuitry 546 may handle wireless port, infra-red port, serial port, USB port and any other suitable type of communication. It preferably interfaces with the controller 530 via the control bus 524 and output bus 544, exchanges data with application and output memory 548 and sends data to display 550, via output bus 544. A wireless embodiment of the communication circuitry 546 appears in FIG. 4.

[0095] It is appreciated that there may be other architectures, memory organizations, processing schemes and buses structures which also implement the functionalities shown in FIG. 5.

[0096] The operation of the apparatus of FIG. 5 is now be described in greater detail with reference to FIGS. 6A, 6B, 6C, 6D, 6E, 6F, 6G, 6H &, 6I, which are flow charts, illustrating some of the functionality of FIG. 5 and to FIGS. 7A, 7B, 7C, 7D, 7E & 7F, which are acceleration diagrams which are useful in the understanding of the functionality shown in FIGS. 6B & 6C, FIGS. 8A & 8B, which are each a velocity diagram which is useful in the understanding of the functionality shown in FIG. 6D, FIGS. 9A & 9B, which are each a diagram which is useful in the understanding of the functionality shown in FIG. 6E and Figs. 10A, 10B, 10C, 10D, 10E, 10F, 10G, 10H & 10I are diagram which is useful in the understanding of the functionality shown in FIG. 6E.

[0097] Reference is made in the course of the description which follows also to FIGS. 11A, 11B, 11C, 11D, 11E, 11F, 11G, 11H, 11I, 11J & 11K, which are diagrams which are useful in the understanding of the functionality shown in FIG. 6F, 6G, 6H & 6I and to FIGS. 12A, 12B, 12C & 12D are diagrams which are useful in the understanding of the functionality shown in FIG. 6F , 6G, 6H & 6I.

[0098] Turning initially to FIG. 6A, which relates to the operation of data acquisition circuitry 506, dual port motion memory 522 and controller 530, it is seen that initially one of the two buffers in dual port motion memory 522 is selected by controller 530. Initial levels of the outputs of acceleration sensors 500, 502 and 504 are stored in the selected active buffer.

[0099] A determination is then made by controller 530 of whether a motion plane in three-dimensional space is detected or whether a write indication is otherwise provided. This detection may be made in one of typically three ways. By operation of contact sensor 534, by analysis of the outputs of acceleration sensors 500, 502 and 504 and by operation of the write/on/off switch 532. Upon detection of a motion plane, a new record is started and outputs of acceleration sensors 500, 502 and 504 are stored. Additional samples are stored until the outputs of the acceleration sensors 500, 502 and 504, or the contact sensor 534 indicate the absence of a motion plane, or a write signal is absent or until memory capacity is exceeded.

[0100] Upon termination of storing, the record is ended and processed, typically by acceleration processing circuitry 536. A typical record contains a large number of samples of the outputs of acceleration sensors 500, 502 and 504. Further records are processed in much the same manner, it being appreciated that by the use of two active buffers, the contents of one may be processed, while the other is being filled.

[0101] Referring now to FIG. 6B which relates to the operation of acceleration processing circuitry 536, it is seen that preferably, the first few and last few samples in each record are eliminated. This may be readily seen by viewing FIGS. 7A and 7B, which illustrate a record containing the outputs of the X and Y acceleration sensors 500 and 502 respectively, prior to and subsequent to elimination of the first few and last few samples therein. Following elimination of the first few and last few samples in the record, the remaining outputs of the acceleration sensors in the record are preferably normalized to a calibration level, as can be seen in FIG. 7C for the outputs of the X and Y acceleration sensors 500 and 502 respectively. Clearly, if three accelerometers are employed a Z acceleration sensor output is processed in a similar manner.

[0102] Following the normalization, an average of the first few remaining samples, typically about 10-30 samples, is taken. The remaining record is then normalized to a level of the average of the first few remaining samples. The result of this normalization for the outputs of the X and Y acceleration sensors 500 and 502 respectively is shown in FIG. 7D. The normalization of the acceleration record, according to the average of the first samples, as exemplified by the difference between the FIGS. 7C and 7D is a particular feature of the present invention.

[0103] Following this normalization according to the average of the first samples, the last intentional motion sample is detected, as is described hereinbelow with reference to FIG. 6C. The samples following the detected last intentional motion sample are eliminated, as illustrated for the outputs of the X and Y acceleration sensors 500 and 502 respectively in FIG. 7E. Noise is also filtered out, as illustrated for the outputs of the X and Y acceleration sensors 500 and 502 respectively in FIG. 7F and the resulting processed acceleration record is supplied for velocity processing by circuitry 538 (FIG. 5).

[0104] Reference is now made to FIG. 6C, which illustrates detection of the last intentional motion sample. A record of the output of at least one of the three acceleration sensors 500, 502 and 504, such as the record shown in FIG. 7D in respect of the output of the X acceleration sensor is examined to determine the average of the last few remaining samples.

[0105] Following determination of this average, the preceding samples is examined sequentially from the last few samples in a backwards in time direction until a variation from the average of at least a predetermined magnitude is encountered. The time location of this variation is determined to be the time location of the last intentional motion.

[0106] The foregoing process may be carried out in parallel for the outputs of all or some of the three acceleration sensors 500, 502 and 504. The existence of a variation from the average of at least a predetermined magnitude for even the output of just one of the acceleration sensors 500, 502 and 504 may be considered sufficient for finding the last intentional motion in the record for the outputs of all of the acceleration sensors 500, 502 and 504.

[0107] Reference is now made to FIG. 6D, which illustrates velocity processing in circuitry 538 in accordance with a preferred embodiment of the invention. The output of the acceleration processing circuitry 536, illustrated for example in FIG. 7F, is integrated over time to produce a velocity record. The velocity record corresponding to the acceleration input of FIG. 7F, appears in FIG. 8A.

[0108] The average velocity at the end of the velocity record, corresponding to the last few remaining acceleration samples, typically about 5-10 samples, is calculated.

[0109] The velocity of the entire velocity record, e.g. of all values represented in FIG. 8A is now proportionally normalized between the beginning and end of the record, where the proportion of normalization applied at each sample within a velocity record is relative to the distance of that sample from the beginning and end of the record. FIG. 8B illustrates the proportionally normalized values VX1 and VY1 of FIG. 8A, for the X and Y components respectively. A suitable formula for obtaining the values VX1 and VY1 of FIG. 8B from the values VX and VY, respectively, of FIG. 8A is:

[0110] VX1(n)=VX(n)−n/N×(X component of average velocity at N)

[0111] VY1(n)=VY(n)−n/N×(Y component of average velocity at N),

[0112] where n is the index of samples within the record, n=1, . . . N.

[0113] The X and Y components of the average velocity at N (as computed in the second step of the method of FIG. 6D) are the average X and Y velocity values, respectively, where the averages are each taken over the last few (typically 5-10) velocity values in the velocity record of FIG. 8A, corresponding to the last few acceleration samples. In case of three dimensional motion a similar formula is applied also for the Z component of the velocity. The proportional normalization of the velocity record, as exemplified by the difference between FIGS. 8A and 8B is a particular feature of the present invention.

[0114] It is also a particular feature of a preferred embodiment of the present invention that, for a long track or complex track, the identification of minimum motion points along the track may be performed similarly to the process described hereinabove with reference to FIG. 6C and proportional normalization of the velocity, typically between each two adjacent such minimum motion points.

[0115] In the proportional normalization described above, the extent of normalization applied to an individual sample depends only on the position of the sample relative to the beginning and end of the record or record portion over which the normalization process is being effected. However, it is appreciated that, alternatively, more sophisticated weighting of the normalization process may be effected, taking into account factors other than the position of the sample, such as but not limited to the relative estimated motion levels at different minimum motion points. It should be noted that for multi dimensional motion the proportional normalization may apply to all or just some of the velocity components. For a case, which uses more than one velocity component it is allowed to use different minimum motion points and different proportional normalization formulas for each axis of motion.

[0116] The proportionally normalized velocity record corresponding to the velocity record of FIG. 8A appears in FIG. 8B and may be supplied for recognition processing at recognition circuitry 542 and/or for tracking processing at tracking circuitry 540.

[0117] Reference is now made to FIG. 6E, which illustrates tracking processing according to a preferred embodiment of the present invention, as preferably carried out by tracking circuitry 540. The output of the velocity processing circuitry 538 (FIG. 5), as exemplified by the normalized velocity record of FIG. 8B is integrated over time. The result of this integration is seen in FIG. 9A, which corresponds to the normalized velocity record of FIG. 8B.

[0118] Following this integration, which provides a displacement indication, the displacement indications corresponding to the outputs of all of the acceleration sensors, preferably all of the sensors 500, 502 and 504 are combined to provide a multi-dimensional indication of a displacement sequence. An example of this multi-dimensional indication for the X and Y acceleration sensor outputs appears in FIG. 9B.

[0119] Reference is now made to FIG. 6F, which illustrates a preferred embodiment of the velocity compression which is the first part of the recognition processing according to a preferred embodiment of the present invention, as preferably carried out on velocity information by recognition circuitry 542. The output of velocity processing circuitry 538, exemplified in FIG. 8B, is preferably supplied for X′ and Y′ threshold calculations. The X′ and Y′ velocity components may be parallel to the X and Y components sensed by acceleration sensors 500 and 502 but need not necessary be so, particularly if the motion plane is not parallel to the X, Y plane of the acceleration sensors 500 and 502.

[0120] Typical X′ and Y′ velocity thresholds are illustrated in FIG. 10A. Calculation of the X′ and Y′ thresholds may be carried out in the following manner:

[0121] The maximum and minimum peak values of the X and Y components of velocity are noted.

[0122] For each of the X and Y components of velocity separately, a determination is made as to whether the absolute value of the maximum or the minimum peak value is greater.

[0123] For each of the X and Y components of velocity separately, a percentage of the peak value which is greater for that velocity component, typically 25% of the peak value, is typically selected as the absolute difference of the applicable thresholds from zero.

[0124] The absolute differences of the applicable thresholds for the X and Y components of velocity are preferably compared. If the absolute difference of the applicable threshold of one of the components exceeds that of the other of the components by a certain amount or multiple, typically a multiple of three, the absolute differences of both thresholds are both selected to be identical to the higher absolute difference. If, however, the absolute difference of the applicable threshold of one of the components does not exceed that of the other of the components by that certain amount or multiple, the absolute differences of both thresholds are not necessarily identical and remain as separately calculated for each component of the velocity.

[0125] Thus, it may be appreciated that in a case, such as that shown in FIG. 10A, wherein the absolute difference of the applicable threshold of the Y component does not exceed that of the X component by more than a multiple of three, the absolute differences of both thresholds are not identical and remain as separately calculated for each component of the velocity. Thus FIG. 10B, showing the result of calculation of the mutual threshold, is here identical to FIG. 10A.

[0126] At this stage, the respective thresholds are applied to the X and Y components preferably in the following manner: The absolute values of both the X and Y components of the velocity, which fall below their respective thresholds are made equal to zero. A result of this operation appears in FIG. 10C.

[0127] Thereafter, short duration segments of the thresholded velocity components are preferably filtered out. Typically segments having a duration of less than 60 milliseconds are filtered out. A result of this operation is illustrated in FIG. 10D.

[0128] Following the filtering, a digitization operation is performed on the filtered thresholded velocity components. In the illustrated embodiment, the digitization operation, preferably comprises binarization, wherein all positive direction segments are given the same positive value and all negative direction segments are given the same negative value. A result of this operation is shown in FIG. 10E. It is appreciated that other digitization schemes may be applied to the velocity and may serve for the implementation of the compression and recognition processes described hereinbelow with reference to FIGS. 6F, 6G, 6H and 6I.

[0129] The digitized information for the X and Y velocity components is then preferably separately analyzed to detect value changes therein. Each such change is indicated together with its sign and the time duration between changes is ignored. A result of this compression operation is shown in FIG. 10F, where the abscissa indicates the number of changes, irrespective of their sign. A digital representation of the information contained in FIG. 10F appears in FIG. 11A.

[0130] Following detection and indication of value changes separately for the X and Y velocity components, merger operation of indications of value changes is preferably carried out. In the illustrated embodiment each uninterrupted sequence of pairs of oppositely signed value changes which begins with a value change of the same sign, i.e. pairs of value changes which lie in the realm between 0 and −1 in FIG. 10F, are identified by a single indication of a pair of value changes, as seen in FIG. 10G.

[0131] It is noted from a comparison of FIGS. 10F and 10G, that the indication of the value changes for the X component does not change from FIG. 10F to FIG. 10G. In the indication of the value changes for the Y component, however, there does appear in FIG. 10F, one uninterrupted sequence of pairs of oppositely signed value changes which begins with a value change of the same sign, and it is seen in FIG. 10G that this sequence is represented by a single indication of a pair of value changes. A digital representation of the information contained in FIG. 10G appears in FIG. 11B.

[0132] Following the merger of indications of value changes illustrated in FIG. 10G, the thus merged indications, represented digitally in FIG. 11B are preferably binary encoded, preferably employing the encoding matrix appearing in FIG. 11C. A matrix indicating the binary code corresponding to the X and Y components shown in FIG. 10G, appears in FIG. 11D.

[0133] The digitized information illustrated in FIG. 11A are also preferably binary encoded, preferably employing the encoding matrix appearing in FIG. 11C. A matrix indicating the binary code corresponding the X and Y components shown in FIG. 10F, appears in FIG. 11E.

[0134] The digitized information for the X and Y velocity components, typified by the diagrams in FIG. 10E, is also preferably analyzed to detect value changes therein in a slightly different manner. Each such change is indicated together with its sign and the time duration between changes is ignored. A result of this compression operation is shown in FIG. 10H, where the abscissa indicates the total number of changes both in the X and the Y velocity components, irrespective of their sign and irrespective of whether such changes took place in the X velocity component or in the Y velocity component. A digital representation of the information contained in FIG. 10H appears in FIG. 11F.

[0135] It is thus appreciated that comparing the diagrams of FIG. 10F and 10H, it is seen that the difference is in the indexing along the abscissa. Whereas in FIG. 10F, the index count increases only with each value change in the X or Y velocity component to which each diagram relates, in FIG. 10H, in contrast, the index count increases with each value change in either the X or Y velocity component.

[0136] The information appearing in FIG. 11F is preferably binary encoded, in a partially overlapping manner, preferably employing the encoding matrix appearing in FIG. 11J. A matrix indicating the binary code corresponding to the X and Y components shown in FIG. 10H, appears in FIG. 11G.

[0137] The digitized information for the X and Y velocity components, typified by the diagrams in FIG. 10E, is also preferably separately analyzed to detect value changes therein in another slightly different manner, which is preferably identical to that illustrated in FIG. 10H and represented by FIG. 11F, but carried out in an opposite time direction and subsequently reversed. As in the example of FIGS. 10H and 11F, each such change is indicated together with its sign and the time duration between changes is ignored. A result of this compression operation is shown in FIG. 10I, where the abscissa indicates the total number of changes both in the X and the Y velocity components, irrespective of their sign and irrespective of whether such changes took place in the X velocity component or in the Y velocity component. A digital representation of the information contained in FIG. 10I appears in FIG. 11H.

[0138] It is thus appreciated that comparing the diagrams of FIG. 10F and 10I, it is seen that the differences are in the indexing and possibly also in information content. Whereas in FIG. 10F, the index count increases only with each value change in the X or Y velocity component to which each diagram relates, in FIG. 10I, in contrast, the index count increases with each value change in either the X or Y velocity component. The information content may vary because FIG. 10I is constructed in an opposite time direction from FIG. 10F, although it is presented in the same time direction.

[0139] The information appearing in FIG. 11H is preferably binary encoded, in a partially overlapping manner, preferably employing the encoding matrix appearing in FIG. 11J. A matrix indicating the binary code corresponding to the X and Y components shown in FIG. 10I, appears in FIG. 11I.

[0140] The four outputs represented in FIGS. 11D, 11E, 11G & 11I are preferably provided to identification processing circuitry 554 (FIG. 5) for identification processing as described hereinbelow with reference to FIG. 6G.

[0141] Reference is now made to FIG. 6G, which illustrates a preferred embodiment of identification processing, such as that carried out by identification circuitry 554 (FIG. 5) based on inputs received from velocity compression circuitry 552 (FIG. 5). The outputs of velocity compression circuitry 552, as exemplified in FIGS. 10F, 10G, 10H & 10I.

[0142] It is a particular feature of the present invention that the outputs of velocity compression circuitry 552, as exemplified in FIGS. 10F, 10G, 10H & 10I. which serve as inputs to the identification circuitry 554 appear in a relatively simple form which is relatively easy, simple and quick to process. This may be appreciated from a consideration of FIGS. 11D, 11E, 11G, and 11I which illustrate preferred different alternative two-dimensional matrices representing the information contained in the input to velocity compression circuitry 552, as exemplified FIGS. 8B, and 10A.

[0143] It is further appreciated that the output of dictionary preferably comprises a similarly organized two-dimensional matrix, an exemplary one of which appears in FIG. 12, for each motion or character that it is sought to identify. The identification circuitry 554 is operative to compare the various input matrices represented by FIGS. 11D, 11E, 11G, and 11I with the various dictionary matrices represented by FIG. 12 in order to achieve identification.

[0144] The functionality of identification circuitry 554 is now described with reference to FIG. 6G. In FIGS. 6G , 6H and 6I described hereinbelow and in FIG. 6F described hereinabove, the information related to the velocity compression 552 (FIG. 5) output and the information related to the dictionary 556 (FIG. 5) are preferably exemplified by binary codes. However, it is appreciated that other code schemes may represent this information and may serve for implementation of the steps and functionalities of the identification and recognition processes.

[0145] Referring now to FIG. 6G, it is seen that the information relating to the X and Y components, represented in FIG. 11E, is preferably compared and matched with binary information received from binary code dictionary 556 (FIG. 5), which binary information is keyed by the dictionary 556 to individual alphanumeric symbols. A typical input for this case received from binary code dictionary 556 appears in FIG. 12A.

[0146] It is also seen that the information relating to the X and Y components, represented in FIG. 11D, is preferably compared and matched with the binary information received from binary code dictionary 556 (FIG. 5). The relevant part of the dictionary for this case preferably includes 3 fields:

[0147] Motion direction signs binary code, as exemplified in FIG. 11C;

[0148] Merger code, as exemplified in FIG. 11B, at the right side thereof, and Alphanumeric character identification field, as exemplified in FIGS. 12A and 12B at the right sides thereof.

[0149] The motion direction signs binary code is described hereinabove with reference to FIGS. 6F, 11D and 11E.

[0150] The merger code is preferably a two bit binary code, one bit for the X axis and one bit for the Y axis. The code “1” indicates that the values sequences for a given axis were merged as described hereinabove with reference to FIGS. 6F, 10G, 11B and 11D. The code “0” indicates that the values sequences for a given axis were not merged as described hereinabove with reference to FIGS. 6F, 10F, 11A and 11E. FIG. 11K exemplified the case of both merger code bits are “1” indicates that the values sequences for both X axis and Y axis were merged.

[0151] The alphanumeric character identification field is preferably a 6 bit code which define the character set. Each specific character is represented by unique expression of this code. For supporting character sets having more than 64 characters this field may be extended.

[0152] Should the outputs of both comparing and matching procedures, based respectively on the inputs represented by FIGS. 11D and 11E indicate the same alphanumeric character, an output is provided to final character identification functionality.

[0153] Should, however, the outputs of the comparing and matching procedures based on inputs represented by FIGS. 11D and 11E not indicate the same alphanumeric character, a prioritization procedure takes place, wherein typically the procedure based on the information represented in FIG. 11E takes precedence over that based on the information represented in FIG. 11D, as indicated in FIG. 6H.

[0154] As also seen in FIG. 6H the procedure based on the information represented in FIG. 11D typically takes precedence over the procedure based on information represented in FIG. 11K.

[0155] It may be appreciated from a consideration of FIG. 6H that dictionary matches having no merged sequences are generally given priority over dictionary matches having merged sequences for only one axis and that both of the foregoing dictionary matches are given priority over dictionary matches having merged sequences for both axes.

[0156] Other types of prioritization may additionally or alternatively be employed.

[0157] As also seen in FIG. 6G, the information relating to the X and Y components, represented in FIG. 11G, is preferably compared and matched with binary information received from binary code dictionary 556 (FIG. 5) which is keyed to individual alphanumeric symbols. A typical input for this case received from binary code dictionary 556 appears in FIG. 12B.

[0158] It is also seen that the information relating to the X and Y components, represented in FIG. 11I, is preferably compared and matched with the binary information received from binary code dictionary 556 (FIG. 5) which is keyed to individual alphanumeric symbols, exemplified in FIG. 12B.

[0159] The relevant part of the dictionary for this case preferably includes four fields:

[0160] Motion direction signs binary code, as exemplified in FIG. 11J;

[0161] Mask length code, as exemplified in FIG. 12B, near the right side thereof;

[0162] Mask position code, as exemplified in FIGS. 12B and 12D to the right of the mask length code; and

[0163] Alphanumeric character identification field, as exemplified in FIGS. 12A, 12B and 12D at the right sides thereof.

[0164] The motion direction signs binary code is described hereinabove with reference to FIGS. 6F, 11G and 11I.

[0165] The mask length code is preferably a 6 bit code that describe the length of a mask which indicates bits which do not participate in the compare and match procedures at the right side of FIG. 6G.

[0166] The mask position code is preferably a two bit binary code, a “1” at the one bit indicating the that the mask starts from the left and a “1” at the other bit indicating the mask starts from the right. A code “0” at both bits indicates that no mask is present.

[0167] The alphanumeric character identification field is preferably a 6 bit code which defines the character set: Each specific character is represented by unique combination of this code. For supporting character sets with more than 64 characters, this field may be extended.

[0168] In accordance with a preferred embodiment of the present invention, the prerequisites for matching between a matrix and a dictionary word are that the mask position code value should be identical and the mask length of the dictionary word should be equal or greater to the length of a sequence of zeros in the matrix.

[0169] Should the outputs of both comparing and matching procedures, based respectively on the inputs represented by FIGS. 11G and 11I indicate the same alphanumeric character, an output is provided to final character identification functionality.

[0170] Should, however, the outputs of the comparing and matching procedures based on inputs represented by FIGS. 10G and 11I not indicate the same alphanumeric character, a prioritization procedure takes place, wherein typically the procedure based on the information represented in FIG. 11G takes precedence over that based on the information represented in FIG. 11I. Other types of prioritization may additionally or alternatively be employed.

[0171] In both the FIG. 11G and 11I cases, matches having the shortest mask length have priority. Other types of prioritization may additionally or alternatively be employed.

[0172] The final character identification functionality receives the inputs resulting from the prioritization procedures indicating alphanumeric characters. If there is agreement between the inputs, the resulting alphanumeric symbol is output. In the absence of agreement typically the alphanumeric symbol indicated by the procedure based on the information represented in FIGS. 11D or 11E takes precedence over that based on the information represented in FIGS. 11G or 11I. Other types of prioritization may additionally or alternatively be employed.

[0173] It is appreciated that for a specific alphanumeric symbol it may be sufficient to include in the dictionary 556 (FIG. 5) at least one of the two typical matrices representations exemplified by FIGS. 12A and 12B. In case that one representation is absence for a specific alphanumeric symbol, the comparing and matching procedures related to this representation will yield no match and the identification process will continue according the description of FIG. 6G hereinabove.

[0174] It also is appreciated that it may be sufficient to implement only part of the four velocity compression 552 (FIG. 5) processing results as exemplified in FIGS. 10F, 10G, 10H & 10I for an identification of a specific character set or a specific symbol set.

[0175] It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove as well as variations and modifications which would occur to persons skilled in the art upon reading the specification and which are not in the prior art. 

1. Apparatus for handwriting recognition comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry receiving said acceleration indicating output and providing a velocity indicating output; and a handwritten multiple character recognizer receiving said velocity indicating output and providing a multiple character recognition output indication.
 2. Apparatus for handwriting recognition according to claim 1 and wherein said at least one accelerometer comprises a plurality of accelerometers providing outputs to acceleration processing circuitry, which provides said acceleration indicating output.
 3. Apparatus for handwriting recognition according to claim 1 and wherein said computation circuitry is also operable to perform at least one of Calculator, Database, Personal Information Management (PIM) and Personal Digital Assistant (PDA) functionalities, including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller, smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities and to provide a computation output resulting therefrom.
 4. Apparatus for handwriting recognition according to claim 1 and also comprising communication circuitry.
 5. Apparatus for handwriting recognition according to claim 1 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 6. Apparatus according to claim 4 and wherein said communication circuitry provides functionality for at least one of a telephone, paging, SMS, WAP, Email, Internet browsing and POTS functions.
 7. Apparatus for handwriting recognition according to claim 1 and wherein said apparatus is employed as a writing implement.
 8. Apparatus for handwriting recognition according to claim 1 and wherein said computation circuitry provides at least one of proportional normalization of velocity, identification of minimum motion points, normalization at least a portion of the acceleration indicating output to a level of an average of a first few samples of the acceleration indicating output, and determination a last intentional motion sample of the acceleration indicating output and eliminating samples following said last intentional motion sample of the acceleration indicating output.
 9. Apparatus for handwriting recognition according to claim 1 and wherein said providing a multiple character recognition output indication comprises at least one of: compressing said velocity indicating output; separately analyzing information for the x and y velocity components; analyzing the directions of the velocity; calculating velocity thresholds; digitizing velocity components; comparing and matching between a digital dictionary and a digitized velocity record and using only part of the digitized velocity record; comparing and matching between a digital dictionary and a few different representation forms of digitized velocity using a prioritization procedure which takes place in case of disagreement between different comparing and matching results; filtering out short duration segments of the velocity components; indicating velocity value changes and ignoring time durations between the changes; performing a merger operation on velocity segments; and binarizing velocity segments.
 10. Apparatus for handwriting recognition comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry receiving said acceleration indicating output, discarding user specific components therein and providing a non-user specific output; and a handwritten character recognizer receiving said non-user specific output and providing a character recognition output indication.
 11. Apparatus for handwriting recognition according to claim 10 and wherein said at least one accelerometer comprises a plurality of accelerometers providing outputs to acceleration processing circuitry, which provides said acceleration indicating output.
 12. Apparatus for handwriting recognition according to claim 10 and wherein said computation circuitry is also operable to perform at least one of Calculator, Database, Personal Information Management (PIM) and Personal Digital Assistant (PDA) functionalities, including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller, smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities and to provide a computation output resulting therefrom.
 13. Apparatus for handwriting recognition according to claim 10 and also comprising communication circuitry.
 14. Apparatus for handwriting recognition according to claim 10 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 15. Apparatus according to claim 13 and also comprising a communication functionality, for providing at least one of a telephone, paging, SMS, WAP, Email, Internet browsing, POTS and other types of communications functionality.
 16. Apparatus for handwriting recognition according to claim 10 and wherein said apparatus is employed as a writing implement.
 17. Apparatus for hand motion tracking comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry receiving said acceleration indicating output and providing a proportionally normalized velocity indicating output; and a hand motion tracker receiving said velocity indicating output and providing a tracking output indication.
 18. Apparatus for hand motion tracking according to claim 17 and wherein said at least one accelerometer comprises a plurality of mutually orthogonal arranged accelerometers providing outputs to acceleration processing circuitry which provides said acceleration indicating output.
 19. Apparatus for hand motion tracking according to claim 18 and wherein said hand motion tracker provides at least one of a three-dimension tracking output indication, a two-dimension tracking output indication and a character tracking output indication.
 20. Apparatus for motion tracking according to claim 17 and also comprising communication circuitry.
 21. Apparatus for motion tracking according to claim 17 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 22. Apparatus for motion tracking according to claim 17 and wherein said apparatus is employed as a writing implement.
 23. Apparatus for handwriting recognition according to claim 17 and wherein said computation circuitry provides at least one of proportional normalization of velocity, identification of minimum motion points, normalization at least a portion of the acceleration indicating output to a level of an average of a first few samples of the acceleration indicating output, and determination a last intentional motion sample of the acceleration indicating output and eliminating samples following said last intentional motion sample of the acceleration indicating output.
 24. Apparatus for hand motion tracking comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry receiving said acceleration indicating output, discarding user specific components therein and providing a non-user specific output; and a hand motion tracker receiving said non-user specific output and providing a tracking output indication.
 25. Apparatus for hand motion tracking according to claim 24 and wherein said at least one accelerometer comprises a plurality of mutually orthogonal arranged accelerometers providing outputs to acceleration processing circuitry which provides said acceleration indicating output.
 26. Apparatus for hand motion tracking according to claim 25 and wherein said hand motion tracker provides at least one of a three-dimension tracking output indication, a two-dimension tracking output indication and a character tracking output indication.
 27. Apparatus for motion tracking according to claim 24 and also comprising communication circuitry.
 28. Apparatus for motion tracking according to claim 24 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 29. Apparatus for motion tracking according to claim 24 and wherein said apparatus is employed as a writing implement.
 30. Apparatus for handwriting recognition and hand motion tracking comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry receiving said acceleration indicating output and providing a velocity indicating output; a handwritten character recognizer receiving said velocity indicating output and providing a multiple character recognition output indication; and a hand motion tracker receiving said velocity indicating output and providing a tracking output indication.
 31. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and wherein said at least one accelerometer comprises a plurality of accelerometers providing outputs to acceleration processing circuitry, which provides said acceleration indicating output.
 32. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and wherein said hand motion tracker provides at least one of a three-dimension tracking output indication, a two-dimension tracking output indication and a character tracking output indication.
 33. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and wherein said computation circuitry is also operable to perform at least one of Calculator, Database, Personal Information Management (PIM) and Personal Digital Assistant (PDA) functionalities, including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller, smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities and to provide a computation output resulting therefrom.
 34. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and also comprising communication circuitry.
 35. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 36. Apparatus according to claim 34 and wherein said communication circuitry provides functionality for at least one of a telephone, paging, SMS, WAP, Email, Internet browsing and POTS functions.
 37. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and wherein said apparatus is employed as a writing implement.
 38. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and wherein said computation circuitry provides at least one of proportional normalization of velocity, identification of minimum motion points, normalization at least a portion of the acceleration indicating output to a level of an average of a first few samples of the acceleration indicating output, and determination a last intentional motion sample of the acceleration indicating output and eliminating samples following said last intentional motion sample of the acceleration indicating output.
 39. Apparatus for handwriting recognition and hand motion tracking according to claim 30 and wherein said providing a multiple character recognition output indication comprises at least one of: compressing said velocity indicating output; separately analyzing information for the x and y velocity components; analyzing the directions of the velocity; calculating velocity thresholds; digitizing velocity components; comparing and matching between a digital dictionary and a digitized velocity record and using only part of the digitized velocity record; comparing and matching between a digital dictionary and a few different representation forms of digitized velocity using a prioritization procedure which takes place in case of disagreement between different comparing and matching results; filtering out short duration segments of the velocity components; indicating velocity value changes and ignoring time durations between the changes; performing a merger operation on velocity segments; and binarizing velocity segments.
 40. Apparatus for handwriting recognition and hand motion tracking comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry receiving said acceleration indicating output, discarding user specific components therein and providing a non-user specific output; a handwritten character recognizer receiving said non-user specific output and providing a character recognition output indication; and a hand motion tracker receiving said non-user specific output and providing a tracking output indication.
 41. Apparatus for handwriting recognition and hand motion tracking according to claim 40 and wherein said at least one accelerometer comprises a plurality of accelerometers providing outputs to acceleration processing circuitry, which provides said acceleration indicating output.
 42. Apparatus for handwriting recognition and hand motion tracking according to claim 40 and wherein said hand motion tracker provides at least one of a three-dimension tracking output indication, a two-dimension tracking output indication and a character tracking output indication.
 43. Apparatus for handwriting recognition and hand motion tracking according to claim 40 and wherein said computation circuitry is also operable to perform at least one of Calculator, Database, Personal Information Management (PIM) and Personal Digital Assistant (PDA) functionality, including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller, smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities and to provide a computation output resulting therefrom.
 44. Apparatus for handwriting recognition and hand motion tracking according to claim 40 and also comprising communication circuitry.
 45. Apparatus for handwriting recognition and hand motion tracking according to claim 40 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 46. Apparatus according to claim 44 and wherein said communication circuitry provides functionality for at least one of a telephone, paging, SMS, WAP, Email, Internet browsing and POTS functions.
 47. Apparatus for handwriting recognition and hand motion tracking according to claim 40 and wherein said apparatus is employed as a writing implement.
 48. A pen computer comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry located within said hand-held device and receiving said acceleration indicating output and providing a non-user specific output; a handwritten character recognizer located within said hand-held device and receiving said non-user specific output and providing a character recognition output indication; and a computer located within said hand-held device for receiving said character recognition output indication as performing computer operations in response thereto.
 49. A pen computer according to claim 48 and wherein said at least one accelerometer comprises a plurality of mutually orthogonal arranged accelerometers providing outputs to acceleration processing circuitry which provides said acceleration indicating output.
 50. A pen computer recognition according to claim 48 and wherein said computer is also operable to perform at least one of Calculator, Database, Personal Information Management (PIM) and Personal Digital Assistant (PDA) functionalities, including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller, smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities and to provide a computation output resulting therefrom.
 51. A pen computer according to claim 48 and also comprising communication circuitry.
 52. A pen computer according to claim 48 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 53. Apparatus according to claim 51 and wherein said communication circuitry provides functionality for at least one of a telephone, paging, SMS, WAP, Email, Internet browsing and POTS functions.
 54. A pen computer according to claim 48 and wherein said computer is employed as a writing implement.
 55. A pen communicator comprising: a hand-held device comprising at least one accelerometer providing an acceleration indicating output; computation circuitry located within said hand-held device and receiving said acceleration indicating output and providing a proportionally normalized velocity indicating output; a handwritten character recognizer located within said hand-held device and receiving said proportionally normalized velocity indicating output and providing a character recognition output indication; and a communication device located within said hand-held device for receiving said character recognition output indication and performing communication operations in response thereto.
 56. A pen communicator according to claim 55 and wherein said at least one accelerometer comprises a plurality of mutually orthogonal arranged accelerometers providing outputs to acceleration processing circuitry which provides said acceleration indicating output.
 57. A pen communicator claim 55 and comprising also hand motion tracker receiving said velocity indicating output and providing at least one of a three-dimension tracking output indication, a two-dimension tracking output indication and a character tracking output indication.
 58. A pen communicator according to claim 55 and wherein said computation circuitry is also operable to perform at least one of Calculator, Database, Personal Information Management (PIM) and Personal Digital Assistant (PDA) functionalities, including at least one of address and phone book, data-bank, calendar, time management, calculator, expenses tracking and management, “to do list” management, note and memo taking, dictionary, translator and speller, smart-card, magnetic card, credit-card, electronic-wallet, remote-control and smart key functionalities and to provide a computation output resulting therefrom.
 59. A pen communicator according to claim 55 and also comprising at least one of a microphone, a speaker, an earphone, an audio interface, an audio processor, a digital signal processor, a display, an image processor, a control circuitry, a CPU, a MPU, a memory, a transceiver, an antenna, a baseband controller, a baseband interface, an Input/Output port, a wireless port, a Bluetooth output, an infra-red port, a serial port, a USB port and data acquisition circuitry.
 60. A pen communicator according to claim 55 and wherein said communication device provides functionality for at least one of a telephone, paging, SMS, WAP, Email, Internet browsing and POTS functions.
 61. A pen communicator according to claim 55 and wherein said communicator is employed as a writing implement.
 62. A method for handwriting recognition comprising: providing an acceleration indicating output from a hand-held device; receiving said acceleration indicating output and providing a velocity indicating output; and receiving said velocity indicating output and providing a multiple character recognition output indication.
 63. A method for hand handwriting recognition according to claim 62 and also comprising at least one of a computation related to the character recognition output indication, a database operation related to the character recognition output indication, communication of character recognition output indication and a control operation based on the character recognition output indication.
 64. A method according to claim 62 and wherein said velocity indicating output is further proportionally normalized.
 65. A method according to claim 62 and further comprising: normalizing at least a portion of the acceleration indicating output to a level of the average of the first few samples of the acceleration indicating output.
 66. A method according to claim 62 and further comprising: determining a last intentional motion sample of the acceleration indicating output and eliminating samples following said last intentional motion sample of the acceleration indicating output.
 67. A method according to claim 66 and wherein determining of the last intentional motion sample comprises: examining a record of the output of at least one of said acceleration sensors in order to determine the average of the last few samples; thereafter, examining said record sequentially from the last few samples backwards in time direction until a variation from the average of at least a predetermined magnitude is encountered; and determining a time location of this variation to be the time location of the last intentional motion.
 68. A method according to claim 62 and wherein said providing a velocity indicating output further comprises identification of minimum motion points.
 69. A method according to claim 62 and wherein said providing a multiple character recognition output indication comprises compressing said velocity indicating output;
 70. A method according to claim 62 and wherein said providing a multiple character recognition output indication comprises separately analyzing information for the X and Y velocity components.
 71. A method according to claim 62 and wherein said providing a multiple character recognition output indication comprises analyzing directions of the velocity.
 72. A method according to claim 62 and wherein said providing a multiple character recognition output indication comprises comparing and matching between a digital dictionary and digitized velocity record using only part of the digitized velocity.
 73. A method according to claim 62 and wherein said providing a multiple character recognition output indication comprises comparing and matching between a digital dictionary and a few different representation forms of digitized velocity using a prioritization procedure which takes place in case of disagreement between different comparing and matching results.
 74. A method according to claim 62 and further comprising at least one of filtering out short duration segments of the velocity components, performing a merger operation on velocity segments and binarizing operation on velocity segments.
 75. A method according to claim 62 and wherein said providing a multiple character recognition output indication comprises calculating velocity thresholds.
 76. A method according to claim 75 and wherein said calculating of velocity thresholds further comprises dependency of the thresholds on the minimum and maximum values of the velocity components.
 77. A method according to claim 62 and further comprising: digitizing velocity components to provide digitized information.
 78. A method according to claim 77 and also comprising: analyzing said digitized information for the velocity components to detect value changes therein; indicating each such change; ignoring time durations between changes.
 79. A method for handwriting recognition comprising: providing an acceleration indicating output from a hand-held device; receiving said acceleration indicating output, discarding user specific components therein and providing a non-user specific output; and receiving said non-user specific output and providing a character recognition output indication.
 80. A method for hand handwriting recognition according to claim 79 and also comprising at least one of a computation related to the character recognition output indication, a database operation related to the character recognition output indication, communication of character recognition output indication and a control operation based on the character recognition output indication.
 81. A method for hand motion tracking comprising: providing an acceleration indicating output from a hand-held device; receiving said acceleration indicating output and providing a proportionally normalized velocity indicating output; and receiving said velocity indicating output and providing a tracking output indication.
 82. A method for hand motion tracking according to claim 81 and wherein said providing a tracking indicating output includes at least one of representing a multi-dimensional object, representing drawing in the air, representing drawing in on a surface, representing a character tracking in the air, and representing a character tracking on a surface.
 83. A method for hand motion tracking according to claim 81 and also comprising at least one of a computation based on the tracking output indication, a database operation on the tracking output indication, communication of tracking output indication and a control operations based on the tracking output indications.
 84. A method according to claim 81 and further comprising: normalizing at least a portion of the acceleration indicating output to a level of the average of the first few samples of the acceleration indicating output;
 85. A method according to claim 81 and further comprising: determining the last intentional motion sample of the acceleration indicating output and eliminating samples following said last intentional motion sample of the acceleration indicating output;
 86. A method according to claim 85 and wherein determining of the last intentional motion sample comprises: examining a record of the output of at least one of said acceleration sensors in order to determine the average of the last few samples; thereafter, examining said record sequentially from the last few samples backwards in time direction until a variation from the average of at least a predetermined magnitude is encountered; and determining a time location of this variation to be the time location of the last intentional motion.
 87. A method according to claim 81 and wherein said providing a velocity indicating output further comprises identification of minimum motion points.
 88. A method for hand motion tracking comprising: providing an acceleration indicating output from a hand-held device; receiving said acceleration indicating output, discarding user specific components therein and providing a non-user specific output; and receiving said non-user specific output and providing a tracking output indication.
 89. A method for hand motion tracking according to claim 88 and wherein said providing a tracking indicating output includes at least one of representing a multi-dimensional object, representing drawing in the air, representing drawing in on a surface, representing a character tracking in the air, and representing a character tracking on a surface.
 90. A method for hand motion tracking according to claim 88 and also comprising at least one of a computation based on the tracking output indication, a database operation on the tracking output indication, communication of tracking output indication and a control operations based on the tracking output indication. 